package com.vhall.component.service.rbac;


import com.vhall.component.entity.rbac.RoleAccessEntity;
import com.vhall.component.entity.rbac.vo.*;

import java.util.List;

/**
 * @author dalong
 * @date 2021-05-11 16:25
 */
public interface RbacRoleAccessService {

    /**
     * 获取角色权限列表
     *
     * @param roleId 角色ID
     * @param appId  应用id
     * @return
     */
    List<RoleAccessEntity> getListByRoleIdAppId(Integer roleId, String appId);

    /**
     * 获取权限列表
     *
     * @param reqVO
     * @return
     */
    List<Integer> getList(UserGetAccessListReqVO reqVO);

    /**
     * 批量添加权限
     *
     * @param reqVO
     * @return
     */
    boolean batchCreate(RoleAddAccessReqVO reqVO);

    /**
     * 批量删除
     *
     * @param reqVO
     * @return
     */
    boolean batchDelete(RoleDeleteAccessReqVO reqVO);

    /**
     * 根据角色获取权限
     *
     * @param reqVO
     * @return
     */
    List<RoleInfoRspVO> getAccessListById(RoleInfoReqVO reqVO);

}
